package com.ruoyi.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.admin.domain.entity.CategoryModel;
import com.ruoyi.admin.domain.vo.response.category.CategoryPageResponse;
import com.ruoyi.admin.domain.vo.response.category.CategoryResponse;
import com.ruoyi.common.api.Result;

/**
 * (Category) Service接口
 *
 * @author jianhan
 * @date 2022-12-07 15:41:36
 */
public interface CategoryService extends IService<CategoryModel> {

    /**
     * 根据id获取单条数据信息
     *
     * @param categoryId id
     * @return 单条数据信息
     * @author jianhan
     * @date 2022-12-07 15:41:36
     **/
    Result<CategoryResponse> getId(Long categoryId);

    /**
     * 分页获取列表
     *
     * @param page          分页信息
     * @param categoryModel 查询条件
     * @return 单页数据
     * @author jianhan
     * @date 2022-12-07 15:41:36
     **/
    Result<CategoryPageResponse> page(Page<CategoryModel> page, CategoryModel categoryModel);

    /**
     * 添加
     *
     * @param categoryModel 信息
     * @return 添加结果
     * @author jianhan
     * @date 2022-12-07 15:41:36
     **/
    Result add(CategoryModel categoryModel);

    /**
     * 修改
     *
     * @param categoryModel 信息
     * @return 修改结果
     * @author jianhan
     * @date 2022-12-07 15:41:36
     **/
    Result update(CategoryModel categoryModel);

    /**
     * 删除
     *
     * @param categoryId id
     * @return 删除结果
     * @author jianhan
     * @date 2022-12-07 15:41:36
     **/
    Result delete(Long categoryId);

}
